With the advent of more robust wireless communications systems, compatible handheld communication devices are becoming more prevalent, as well as advanced. Where in the past such handheld communication devices typically accommodated either voice transmission (cell phones) or text transmission (pagers and PDAs), today's consumer often demands a combination device capable of performing both types of transmissions, including even sending and receiving e-mail. Furthermore, these higher-performance devices can also be capable of sending and receiving other types of data including that which allows the viewing and use of Internet websites. These higher level functionalities necessarily require greater user interaction with the devices through included user interfaces (UIs) which may have originally been designed to accommodate making and receiving telephone calls and sending messages over a related Short Messaging Service (SMS). As might be expected, suppliers of such mobile communication devices and the related service providers are anxious to meet these customer requirements, but the demands of these more advanced functionalities have in many circumstances rendered the traditional user interfaces unsatisfactory, a situation that has caused designers to have to improve the UIs through which users input information and control these sophisticated operations.
Most application programs are menu-driven as opposed to being command-driven. Menu-driven applications provide a list of possible action commands or options from which a user may choose, while command-driven applications require users to enter explicit commands. Thus, menu-driven applications are generally easier for the average user to learn than are command-driven applications. Menus are typically implemented as a list of textual or graphical choices (i.e., menu items) from which a user can choose. Thus, menus allow a user to select a menu item, for example, by pointing to the item with a mouse and then clicking on the item. Examples of other methods of selecting menu items include highlighting an item and then hitting the “return” key or “enter” key, and pressing directly on a menu item through a touch-sensitive screen.
One particularly useful type of menu is a hierarchical menu. Hierarchical menus typically present a parent menu that has selectable menu items. The selection of each menu item normally causes another menu, or submenu, to be displayed next to the currently displayed menu. The submenu has additional menu choices that are related to the selected parent menu item. Also, the parent menu results in the display of the submenu. The depth of a hierarchical menu can extend in this manner to many levels of submenus.
The conventional hierarchical menus generally lay out from left to right across a display screen as menu choices are selected. This menu format provides various advantages such as retaining previous and current menus on the display screen at the same time. This provides a historical menu map as menu selections are made and their corresponding submenus are displayed across the screen. Users can therefore review previous menu selections that have been made while progressing to the most recently displayed menu—thus making it easier to move between different menu items and menu levels.
Although such hierarchical menus provide useful advantages, there are scenarios in which their use is impracticable. One such scenario is when hierarchical menus are used on devices having small display screens. The problems presented when attempting to implement conventional hierarchical menus on small-screen devices have generally discouraged the use of hierarchical menus with such devices.
One problem relates to the layout of conventional hierarchical menus. Hierarchical menus generally lay out across the display screen from left to right. On small-screen devices where the room on the screen is not wide enough to accommodate all of the menus, the menus often lay out across the screen in both directions, from left to right and back again. In this scenario, the menus typically begin to overlap one another, creating various problems. One problem is that the overlapping menus can be confusing to the user. Overlapping menus can make it difficult for a user to discern previous menu selections which can, in turn, make it difficult to determine how to return to previous menus to make different menu selections. Thus, one of the intended benefits of a hierarchical menu can be undermined when the hierarchical menu is implemented on a small-screen device.
Overlapping menus can also create problems with small-screen devices (as well as others) that employ pen-based or stylus-based touch-sensitive screens. With such devices, it is often difficult to maintain contact continuity between menus on the screen when the menus are overlapping. In other words, it is easy to move off of menus with small-screen, touch-based devices. If continuity is lost when moving from one menu to another, menus will often disappear from the screen, causing the user to have to go back and reactivate the menu from a prior menu. This problem becomes worse when using pen-based devices that “track”. In the present context, the terminology of “tracking” is used to indicate a situation in which a cursor on the screen follows (tracks) the movement of the pen as the pen moves over the screen even though the pen is not touching the screen. Tracking is lost if the pen is pulled too far away from the screen. Thus, pen-based devices that “track” tend to lose more menus when hierarchical menus are employed.
One method of addressing this issue involves displaying submenus in place of a parent menu, and vice versa, when the appropriate menu items are selected from within the parent menus and submenus. Like a typical hierarchical menu, the depth of a hierarchical in-place menu can extend in this manner to many levels of submenus such as second, third, fourth and fifth levels, with submenus being parent menus to other submenus. Parent menu items selected from within parent menus are displayed within submenus as links back to previous parent menus and are separated from that submenu's items by a divider. For example, parent menu item “Launch App” is from a parent menu and thus includes a forward pointer that indicates a submenu will replace the first parent menu upon selection of “Launch App”. In each of the submenus, “Launch App” has a backward pointing arrow that facilitates going back to a previous menu in the hierarchy.
However, another disadvantage of hierarchical menus is the number of menu items presented in each menu. Each of the menus provides the full complement of available menu items. This can be overwhelming for a novice user and irritating to an experienced user. This problem is exacerbated to an extent by the addition of a hierarchical history of parent menus added to the list.
Another approach to the problem of dealing with a full or extended menu, which lists all available menu items at that particular level, uses a radio communication device that provides an extended menu and a short menu—a subset of the extended menu—and the ability to select between the two. The short menu is a dynamic menu in that a user selects menu items from the corresponding extended menu to be included in the short menu.
A disadvantage of this approach is that the novice user will be further overwhelmed with having to build the various short menus. The experienced user may be disinclined from having to go through the initial set-up procedure of the short menus.
Another disadvantage of a hierarchical menu system is the requirement of proceeding through each menu of the hierarchy to reach the desired action or menu item. This process adds various steps that can frustrate users, due to the lack of intuitiveness in getting from point A to point B from the user's point of view.
Accordingly, as the demand for small-screen devices capable of running increasingly complex applications continues to grow, the need exists for a way to implement user control interface menus that overcome the various disadvantages with conventional dropdown-style hierarchical menus.